CouchDB একটি ডিস্ট্রিবিউটেড NoSQL ডাটাবেস সিস্টেম যা Clustering সমর্থন করে। CouchDB ক্লাস্টারিং একটি অত্যন্ত গুরুত্বপূর্ণ বৈশিষ্ট্য, যা বিভিন্ন সার্ভার বা নোডে ডেটা শেয়ার করতে এবং উচ্চ উপলব্ধতা (High Availability) নিশ্চিত করতে সাহায্য করে। CouchDB Clustering কনফিগারেশন এবং ব্যবস্থাপনা এমন একটি পদ্ধতি, যার মাধ্যমে একাধিক CouchDB নোডকে একটি একক ক্লাস্টারে যুক্ত করা হয় এবং ডেটার রেপ্লিকেশন এবং ডিস্ট্রিবিউশন পরিচালনা করা হয়।
CouchDB ক্লাস্টার একটি গ্রুপ নোডে ডেটা সংরক্ষণ এবং পরিচালনা করার প্রক্রিয়া, যেখানে ডেটা ক্লাস্টারের নোডগুলির মধ্যে ভাগ করা হয়। CouchDB ক্লাস্টারের মাধ্যমে:
CouchDB ক্লাস্টার সেটআপের জন্য একটি স্টেপ-বাই-স্টেপ গাইড নিচে দেওয়া হলো:
প্রথমে, CouchDB সঠিকভাবে ইনস্টল এবং কনফিগার করা প্রয়োজন। এটি করতে, আপনি নিচের নির্দেশনা অনুসরণ করতে পারেন:
sudo apt-get update
sudo apt-get install couchdb
CouchDB ক্লাস্টার সেটআপ করতে হলে, কয়েকটি নোড (সার্ভার) কনফিগার করতে হবে। প্রতিটি নোডের জন্য নিম্নলিখিত কাজ করতে হবে:
local.ini
কনফিগারেশন ফাইল এর মাধ্যমে CouchDB নোড কনফিগার করুন:bind_address
: ক্লাস্টার নোডগুলোর মধ্যে যোগাযোগের জন্য সঠিক IP ঠিকানা নির্ধারণ করুন।port
: সার্ভারের পোর্ট নির্ধারণ করুন (ডিফল্ট পোর্ট 5984)।[couchdb]
hostname = couchdb1.local
bind_address = 0.0.0.0
port = 5984
একবার CouchDB ইনস্টল এবং কনফিগারেশন সম্পন্ন হলে, আপনাকে ক্লাস্টারের অংশ হিসেবে নতুন নোড যোগ করতে হবে। এটি করার জন্য নিচের পদক্ষেপ অনুসরণ করতে হবে:
CouchDB নোড ক্লাস্টারে যোগ করার জন্য একটি নতুন নোড থেকে অন্য নোডের সাথে যোগদান করতে:
curl -X POST http://admin:password@localhost:5984/_cluster_setup -d '{"action":"enable_cluster", "username":"admin", "password":"password", "node_count":3}'
এখানে:
username
এবং password
হল আপনার admin পাসওয়ার্ড।node_count
দ্বারা কতগুলো নোড ক্লাস্টারে যুক্ত হবে তা নির্ধারণ করা হয়।ক্লাস্টারের স্ট্যাটাস চেক করুন: CouchDB ক্লাস্টারের স্ট্যাটাস চেক করতে, আপনি নীচের কমান্ডটি ব্যবহার করতে পারেন:
curl http://admin:password@localhost:5984/_membership
এটি ক্লাস্টারে যোগ করা সমস্ত নোডের একটি তালিকা প্রদান করবে।
ক্লাস্টারে নতুন নোড যোগ করা: ক্লাস্টারে নতুন নোড যোগ করতে হলে, নিচের কমান্ডটি ব্যবহার করুন:
curl -X POST http://admin:password@localhost:5984/_cluster_setup -d '{"action":"add_node", "host":"new_node_ip", "username":"admin", "password":"password"}'
ক্লাস্টার থেকে নোড সরানো: যদি আপনি কোনো নোড ক্লাস্টার থেকে সরাতে চান, তাহলে নিচের কমান্ডটি ব্যবহার করুন:
curl -X POST http://admin:password@localhost:5984/_cluster_setup -d '{"action":"remove_node", "host":"node_ip", "username":"admin", "password":"password"}'
CouchDB ক্লাস্টার সেটআপের পরে, আপনি ক্লাস্টারের পারফরম্যান্স এবং মনিটরিং চালিয়ে যেতে পারেন। CloudWatch, Prometheus, বা Grafana এর মাধ্যমে আপনি CouchDB এর পারফরম্যান্স এবং অন্যান্য মেট্রিক্স মনিটর করতে পারেন।
প্রচার এবং মেমরি ব্যবহারের মনিটরিং: CouchDB এর _stats এন্ডপয়েন্ট ব্যবহার করে আপনি বিভিন্ন সার্ভারের মেমরি এবং CPU ব্যবহারের তথ্য পেতে পারেন।
curl http://admin:password@localhost:5984/_stats
_replicator
এন্ডপয়েন্ট ব্যবহার করতে পারেন অথবা ডেটা টেবিলের JSON ডাম্প তৈরি করতে পারেন।CouchDB Clustering অত্যন্ত শক্তিশালী একটি ফিচার যা ডিস্ট্রিবিউটেড সিস্টেমে স্কেলেবিলিটি, রেপ্লিকেশন, এবং উচ্চ প্রাপ্যতা নিশ্চিত করে। এটি আপনাকে ডেটা শার্ডিং এবং ফিল্টারিং করতে সহায়ক এবং বড় অ্যাপ্লিকেশনগুলির জন্য এটি একটি কার্যকরী সমাধান। CouchDB Clustering কনফিগারেশন এবং ব্যবস্থাপনা সঠিকভাবে করলে, আপনার CouchDB সিস্টেম আরও দক্ষ এবং স্কেলেবল হবে।
common.read_more